User-interactive displays including theme-based dynamic video mosaic elements

ABSTRACT

The present invention teaches a method of creating and presenting a user interface comprising a Dynamic Mosaic Extended Electronic Programming Guide (DMXEPG) using video, audio, special applications, and service dynamic metadata. The system enables television or digital radio service subscribers to select and display of various programs including video, interactive TV applications, or any combination of audio or visual components grouped and presented in accordance with the dynamic program/show metadata, business rules and objectives of service providers, broadcasters, and/or personal subscriber choices, collectively referred to as mosaic element presentation criteria.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 60/647,287, filed Jan. 27, 2005 and U.S. Provisional Application Number 60/678,773, filed May 9, 2005, both of which are included by reference in their entirety for all purposes.

BACKGROUND OF THE INVENTION

Television service providers including cable, satellite, terrestrial, video over internet, IPTV, and others can deliver a large number of channels to subscribers. To choose and select desired program among hundreds of available channels, subscribers can browse channels one by one or use grid or mosaic based Electronic Programming Guides (EPG) by which they might search for possible choices, with the effect to that those subscribers are able to select one or more choices for presentation. However, while they achieve the general goal of allowing users to search and select, known systems are subject to several draw-backs.

Browsing a large number of channels in a search of a desired show is time consuming and inefficient. For example, to preview currently broadcasted shows subscriber can surf 300 channels one by one while spending 10 seconds on each, requires over 50 minutes, which is, in many cases, longer than subscriber choose to watch television program, or the duration of desired program itself. Grid based EPG, although listing titles of programs for several channels at once, including the option of selecting favorite channels and expediting program selection process, displays on average 2 shows per grid's channel line, for the total of 600 shows subscriber has to view to select desired show. Moreover, grid based EPG does not allow users to observe the actual video content of several channels at once, thus forcing subscribers to decide on channel and program selection merely from its textual description, and not its actual content. Although some EPGs allow subscribers to preview in PIP a program selected from the grid, still users can not simultaneously observe content of more than one program. Grid based EPGs that allow subscribers to search programs by title or content category, displayed search results still in a textual representation of a matched program; at the same time not including in the search programs available over VOD, local or network PVR, or program available thru other service provider or source.

Existing mosaic based EPG (MEPG), used by CANAL+ in France for example, is also limiting since it creates pages made of mosaic element each of which is assigned for an extended period of time to a specific channel. CANAL+ offers 3 screens each with 20 elements for the total of 60 channels. However, for such static MEPG, 300 channels may be presented on 15 separate screens forcing a subscriber whishing to find all “News” programs to preview video content of 300 channels by surfing 15 separate screens each with 20 elements. When a subscriber whishes to compare content of two or more channels not present on the same screen, he or she has to toggle between two or more EPG screens, rendering such system as cumbersome, inconvenient, and difficult to use. Such static MEPG systems do not allow subscribers to customize EPG screens to simultaneously display video content of their favorite channels on the same screen. Also, existing MEPG systems, when attempting to group channels by category (e.g. movies, news, cartoons) fail because the same channel broadcasts shows that can belong to different content categories at different times of the day: “Cartoons” in the morning, “Soap Operas” in the afternoon, “News” in the evening, and “Movies” at night. As the result, with the existing MEPG system, when the channels are grouped by category and displayed on the same screen, subscriber that tunes to “cartoons” mosaic EPG page, expecting to see cartoons, actually sees programs that belong to other content categories.

In U.S. Patent Application No. 20040070593, discloses a mosaic-like UI that can be dynamically rearranged in response, in part, to user selection and static metadata about the video titles stored in the library. However, this solution does not work for the television broadcasting environment where each channel's metadata is not static, but dynamic, since it is being contentiously updated and changed. The '593 application does not take into account business needs of service provider which might want to auction off locations of some or all of the mosaic elements on some or all MEPG screens to broadcasters or other third parties. The '593 application does not allow subscribers to simultaneously view video feed from one of any broadcasting channels on one part of the screen while simultaneously accessing MEPG in the remaining portion of the same screen.

In addition to the difficulties of selecting among a large number of currently broadcasting programs, as described above, subscribers also have many challenges selecting upcoming shows using existing EPGs. Again, to find a show that matches their criteria, subscribers have to review set of hundreds of shows that immediately following currently broadcasting programs plus review another set of hundreds of shows that follow after. This task becomes very arduous because by default programs in the existing grid and mosaic based EPGs are organized by channel and time, but not by program category.

So, to choose desired program subscribers have to review many hundreds of entries most of which do not belong to desired program category. The problem of program selection will be exacerbated in the future when even more channels and programs become accessible to subscribers thanks to proliferation of client PVR, VOD over cable, VOD over Internet, network PVR, and other program delivery methods and service. Not only subscribers would have to review hundreds of available programs many of which are irrelevant to the search since they belong to other program categories, subscribers have to juggle among several EPGs each of which is representing its own service. For example, digital cable service and VOD over cable are represented by their own EPGs, TiVO or ReplayTV PVR services are represented by their own EPGs, and VOD over Internet, like Akimbo, is also represented by its own EPG. With more and more content delivery options, subscribers are forced to spend greater amount of time searching and selecting desired content distributed among various systems represented by own EPGs.

What's more, existing EPG services use textural representation of programs and services, like interactive TV. However, it's been shown that people gravitate towards search of video information not by its textual representation but by its visual representation. The best example of this are display cases of a video store, like Blockbuster. There, latest movie releases are arranged in such a manner as to allow customers to view and select desire program by viewing front covers of the DVD cases. Most DVDs, on their front covers, show a visual representation of the video content that allows them to quickly and easily infer its genre, participating actors, and thus make a selection. Unfortunately, existing EPG services have not been designed to display program's visual representation and allow subscribers to choose desired program by it. Instead, subscribers have to choose desired program by its textual representation.

To simplify content selection process, subscribers ought to have a Content Portal that can allow them to choose desired program based on its visual representation and can consolidate access to programs available over multiple services, including those based on a locally or remotely stored content, and services based on programs broadcasted over various available media. Thus, Content Portal ought to allow subscribers to access currently broadcasted programs, soon to be broadcasted programs, locally stored and remotely stored programs by their visual representation. While consolidating access and selection of programs available over multiple networks, Content Portal should also preserve access to advanced value added services like interactive television and on demand advertisement.

In addition to EPGs, subscribers can choose desired program using other program sources including printed TV guides, and TV guides offered over the Internet. There, subscribers have to deal with the same problems of choosing desired content based on its textual representation, but not on its visual representation.

Similarly to the digital TV service providers, providers of digital and satellite radio services like XM and Cirrus have not incorporated visual representation of broadcasted or soon to be broadcasted content, although amount of available content over hundreds of available channels is large. Similarly to the digital TV service, subscribers to the digital radio service have to choose desired program based on its textual representation. With hundreds of simultaneously available programs, this task becomes as challenging as selecting video content from digital TV service providers.

BRIEF SUMMARY OF THE INVENTION

The invention provides a method and system capable of solving many problems of content preview and selection for visual or audio content offered over digital TV or digital radio networks, and generally a user interface (UI) for accessing content. One aspect of the invention is a method of creating and presenting a Dynamic Mosaic Extended Electronic Programming Guide (DMXEPG) using video, audio, special applications, and service dynamic metadata. The system enables television or digital radio service subscribers to select and display of various programs including video, interactive TV applications, or any combination of audio or visual components grouped and presented in accordance with the dynamic program/show metadata, business rules and objectives of service providers, broadcasters, and/or personal subscriber choices. Another aspect of the invention is to print programming guides or guides in electronic form using the same solution of utilizing dynamic metadata to group, consolidate, and display program information with the purpose of allowing subscribers to view and select desired program using program's visual representation.

In accordance with an aspect of the present invention, the system can merge channel programs/shows metadata for multiple services offered by one or more than one service provider using a unique channel identifier, e.g., a service source ID either for digital TV or radio services. Such mercer is performed on the backend and merged metadata is displayed on a client device or in a printed program information guide. This invention differs from the mechanism described in U.S. Pat. No. 6,072,983, which describes merging channel metadata on the client side.

In accordance with an aspect of the present invention, an application can be provided on devices with more than one tuner that can simultaneously display video and applications graphics of that application on more than one display.

In accordance with an aspect of the present invention, applications can be provided on devices with more than one tuner that can simultaneously display a program chosen by the subscriber on one portion of the screen, while displaying DMXEPG or its components on the rest of the screen.

In accordance with an aspect of the present invention, metadata from different value-added services can be integrated into a matrix element (ME) of the DMXEPG and displayed to subscribers for currently broadcasted or soon to be broadcasted programs.

In accordance with an aspect of the present invention, integrated metadata can be recorded for later playback.

Further aspects of the present invention include:

-   -   (a) it can dynamically assign channels to Mosaic Element (ME)         using: continuously updated metadata (programming schedule)         about television (broadcasted) channel (EPG         programming/listings), criteria received from one or more         sources. For example a subscriber, service provider, or third         party. Example of third party can be broadcaster, content         critic, and the like.     -   (b) it can dynamically assign iTV applications, Interactive         advertisement, VOD program links to Mosaic Element (ME) using         criteria received from one or more sources. For example a         subscriber, service provider, or third party. Example of third         party can be broadcaster, content critic, and the like.     -   (c) it allows to support DMXEPG where subscribers can         simultaneously observe any pre-selected channel chosen by them         or video content from other sources, like DVD players or         programs offered by another digital TV service provider, on one         portion of the screen while observing other ME with or without         program related textual information on the rest of the screen     -   (d) it allows service providers to collect payments from         broadcasters, content owners, or third parties for assigning         without service subscriber input their programs to pre-selected         ME and DMXEPG screens     -   (e) it allows service providers to collect payments from         advertisers for assigning, without service subscriber input,         logos, videos, or other visual or audio materials to ME or         DMXEPG screens     -   (f) it allows service providers to create more than one variant         of DMXEPG pages, and without subscriber input associate the         specific DMXEPG variant to subsets of subscribers. These         subscriber subsets can be defined by one or more criteria. For         example, subscriber demographic data, capabilities of subscriber         device, or capabilities of service provider head-end equipment,         etc.     -   (g) it simplifies for subscribers channel, program, and iTV         application selection, usage of interactive TV applications and         DMXEPG by using available buttons on the remote control in         conjunction with the optional rotating element integrated into         the remote control     -   (h) it allows subscribers to customize DMXEPG page which can be         set to display in some or all MEs either channels, programs or         interactive applications chosen by the subscriber     -   (i) it allows subscribers to choose currently broadcasted or         upcoming show which are organized according to their type,         business rules or service provider, or client equipment         capabilities     -   (j) it allows subscribers to choose desired program among         currently broadcasted or soon to be broadcasted audio or video         programs based on their visual representation     -   (k) it allows subscribers using services of multiple digital TV         or digital radio service providers, to choose desired program         from a single programming guide and also use the same         programming guide to choose desired program stored either         locally or remotely     -   (l) it allows subscribers using programming guide to access         value added services, like VOD, which are integrated into         related ME of DMXEPG. For example, ME displaying currently         broadcasting or soon to be broadcasted show can have embedded         sign indicating to subscribers availability of previously         broadcasted episodes of the same show over VOD service     -   (m) it allows to created application on devices with more than         one tuner that can simultaneously display video and applications         graphics of that application on more than one display, for         example allowing subscribers to view and navigate DMXEPG on one         display, which can be a touch screen display, and view selected         show on another display     -   (n) it allows subscribers with devices with multiple tuners to         simultaneously view

DMXEPG on one portion of the screen while viewing desired program delivered from local or remote source on the other portion of the screen.

-   -   (o) it allows subscribers to record desired program along with         metadata of related services like TV commerce, interactive         advertisement, VOD, interactive TV applications, and others     -   (p) it allows to virtually increase size of displayed video in         the ME to improve content recognition by the subscriber by         zooming in and truncating source video     -   (q) it allows subscribers to search channels by channel name     -   (r) it allows subscribers to create one or more customized         DMXEPG channel line up by reassigning channel numbers to numbers         selected by the subscriber. For example, subscriber can group         desired channels by assigning numbers to the channels that would         allow channels to be located closely to each other during         channel surfing. This system can be implemented by processing         original channel line up on the client side or on the headend         side     -   (s) it allows to create content representation system using ME         which is a visual and or audio representation, in addition to         the textual description, of accessible content (information) or         representation of content category and type.     -   (t) it allows subscriber to browse, view, and select desired         program from all subscriber accessible content information using         DMXEPG which comprises ME     -   (u) it allows to pre-search and display to subscribers related         information including showing times, channel number, or location         (VOD, PVR) of past or upcoming episodes of the show in the         selected ME. For example, subscriber reviewing a show in         specific ME, can ascertain show times of upcoming or past         episodes as well as VOD ordering or PVR start play options     -   (v) it allows to indicate to subscribers availability of video         trailer or show video preview or related value added service         stored on PVR, network PVR, or VOD server on ME representing         currently broadcasted or soon to be broadcasted shows     -   (w) it allows subscribers to enable content filtering service         managed by service provider or third party in addition to or         instead of TV Parental Guidance (TVPG) or Motion Picture (MPAA)         ratings. For example, based on user preference, DMXEPG service         (back-end service suite, client software, or their combination)         can deny access to one or more channel, program, or portion of a         program in accordance with the criteria managed by either         service provider and/or third party.

BRIEF DESCRIPTION OF THE DRAWINGS

Various aspects of the present invention are described in the following detailed discussion of an illustrative embodiment of the invention. The embodiment is explained in the figures listed below and in the following detailed discussion.

FIG. 1 is the screen for the first level of multi-dimensional DMXEPG which, according to the invention, dynamically generated by assigning to ME programs that match program content, business, and subscriber preference rules.

FIG. 2 is one of the layouts for the second or other levels of DMXEPG which, according to the invention, is dynamically generated by the DMXEPG service, assigning to the MEs the programs that match program content, business, and subscriber preference rules.

FIG. 3 is the multi-level DMXEPG for the systems with a multi-tuner set-top box (STB) or VOD system.

FIG. 4 is an example of tri-level DMXEPG access path to the channel.

FIG. 5 is an anatomy of the ME components used in DMXEPG.

FIG. 6 is an example of a DMXEPG page dynamically created in the morning hours.

FIG. 7 is an example of a DMXEPG page dynamically created in the evening hours.

FIG. 8 is an example of a DMXEPG page generated by an STB with two or more tuners.

FIG. 9 is an example of a DMXEPG page generated by the service provider.

FIG. 10 is an example of a DMXEPG page with video channel(s) assigned to ME(s) by the subscriber and facilitated by multi-tuner STB or VOD system.

FIG. 11 is a DMXEPG page generated when 16 or more programs for selected content category are available at a given time and where the subscriber has the ability to display video that is selected from an ME within another ME.

FIG. 12 is a DMXEPG page generated when 9 programs for selected content category are available at a given time.

FIG. 13 is a DMXEPG page generated when 5 programs for selected content category are available at a given time.

FIG. 14 is an example of a DMXEPG page simultaneously displaying an interactive application on one or more MEs while displaying assigned video programs on another ME, where each ME can have more than one iTV application assigned to it.

FIG. 15 is a DMXEPG page generated when customer does not have rights to access programs with parental rating exceeding maximum allowed limit.

FIG. 16 is a DMXEPG page generated when the customer does not have rights to access channels assigned to one or more ME.

FIG. 17 is a DMXEPG generated by the service provider with one or more MEs displaying a channel for which subscriber is not authorized.

FIG. 18 is an assignment schedule for existing static DMXEPG.

FIG. 19 is an assignment schedule for DMXEPG that dynamically assigns channels to MEs.

FIG. 20 is an assignment schedule for DMXEPG that dynamically assigns programs from different channels to MEs.

FIG. 21 is a DMXEPG page with rotating interactive content assigned to ME.

FIG. 22 is a DMXEPG page with rotating interactive applications assigned to ME.

FIG. 23 is head-end data flow through the Matrix TV Server Suite (MTVSS).

FIG. 24 shows logical components of the MTVSS

FIG. 25 is an algorithm for avoiding TV screen burnout.

FIG. 26 shows ways to activate the DMXEPG Client application.

FIG. 27 shows ways to activate the DMXEPG Client resident application.

FIG. 28 shows relations between standard MPEG2 transport tables and additional private Interactive Mosaic Tables/descriptors.

FIG. 29 shows local and national MTVSS configurations.

FIG. 29 a shows MTVSS configurations for DMXEPG screen generation on client device.

FIG. 30 is a remote control which, in accordance with the invention, incorporates a rotating element used by subscribers to navigate DMXEPG or iTV applications.

FIGS. 31-36 illustrate how to “virtually” increase size of the video or visual program in the ME for various aspect ratios.

FIGS. 37-45 illustrate “zooming” in on an ME that is in focus.

FIGS. 46 and 47 show “zooming” out of an ME.

FIG. 48 is a general flow chart showing the subscriber steps zooming in and zooming out of an in-focus ME.

FIG. 49 is a general flow chart showing an alternative process for zooming in and zooming out of an in-focus ME.

FIG. 50 shows changing the location of an expanded ME on the screen.

FIG. 51 shows that DMEPX can comprise MEs generated at the headend or on the subscriber (client) side.

FIG. 52 shows major system elements which allow connection of additional content from any source that is available to subscriber.

FIG. 52 a shows major system elements which allow DMXEPG screen to be created by subscriber device

FIG. 53 shows major system elements which allow connection of additional content from more than one additional content source that is available to subscriber.

FIG. 54 shows major system elements and their connections to enable subscribers to display expanded ME in the DMXEPG using the same content source

FIG. 55 shows major system elements and their connections to enable subscribers to display expanded ME in the DMXEPG using more than one content source

FIG. 56-58 show a table that explains how to scale and display video when aspect ratio of DMXEPG, or ME, or original video stream, or display are different.

FIG. 59 shows process of scaling source video to ME when source and destination aspect ratios are or are not the same

FIGS. 60-63 show options of assembling DMXEPG when DMXEPG and ME aspect ratios are or are not the same

FIGS. 64-69 show various aspects of a Pay Per View portal created with MEs.

FIGS. 70-90 show various aspects of a UI and navigation with the UI according to the present invention.

FIG. 91 a shows example of UI and navigation of a DMXEPG portal.

FIGS. 91 b, 91 c, 91 d show DMXEPG UI navigation within specific content category.

FIGS. 92 a, 92 b, 92 c, 92 d show DMXEPG UI navigation and program information following changes in focus of MEs.

FIG. 93 shows UI and navigation of DMXEPG of future (not yet broadcast) programs.

FIG. 94 shows an option for enlarging selected ME to larger portion of the screen and the full screen.

FIGS. 95, 96 shows UI and navigation of DMXEPG in program information display mode when some ME display trailers one ME is in focus and optionally continue to play trailers when focus moves to another ME.

FIG. 97 shows UI and navigation of DMXEPG in program information display mode.

FIGS. 98-109 show UI and navigation of DMXEPG in channel browsing mode.

FIGS. 110-112 show zoom in and zoom out of ME in DMXEPG in show browsing mode.

FIGS. 113-117 show UI and navigation of DMXEPG in channel browsing mode.

FIG. 118 shows DMXEPG ability to enter PVR content browsing mode.

FIG. 119 shows how VOD portal is built with ME.

FIGS. 120 and 121 show how availability of the same or similar content on VOD system can be indicated in DMXEPG ME as well as grid based EPG.

FIG. 122 shows a diagram describing process of encapsulation of VOD program metadata into DMXEPG metadata.

FIG. 123 shows a system that merges metadata for programs supplied by multiple digital TV service providers.

FIG. 124 shows a system that allows subscribers to select channel auto merge or perform manual channel merge for channels delivered over multiple networks.

FIGS. 125, 126 show a UI subscriber can access to perform manual merge of channels delivered over multiple networks.

FIG. 127 shows how subscriber can tune to the desired channel using channel name (for example CNN, HBO, etc) or its mnemonic representation using telephone keypad—letter association.

FIG. 128 shows set top box with the application that can utilize more than one display for video output, graphics output, or their combination.

FIG. 129 shows a digital TV set with the application that can utilize more than one display for video output, graphics output, or their combination.

FIG. 130 shows set top box that runs two applications each of which is using separate display for video output, graphics output, or their combination.

FIG. 131 shows digital TV set that runs two applications each of which is using separate display for video output, graphics output, or their combination.

FIG. 132 shows set top box that runs two applications each of which is using a portion of multiple displays for video output, graphics output, or their combination.

FIG. 133 shows digital TV set that runs two applications each of which is using a portion of multiple displays for video output, graphics output, or their combination.

FIGS. 134-137 show examples of multi screen applications according to various aspects of the present invention.

FIGS. 138 and 139 show logical structures of DMXEPG for multiple displays.

FIGS. 140-148 show system diagrams and Ms for multi-display DMXEPG application implemented with a touch sensitive display.

FIG. 149 shows remote control that allows subscribers to change focus from one display to another for multi-display applications.

FIG. 150 shows system diagram of a digital TV set or set top box which enable applications with multi-display functionality.

FIG. 151 shows a system diagram for a touch screen display that can be used with systems that support multi-display DMXEPG.

FIG. 152 shows system diagram of a digital TV set or set top box utilizing touch screen display for multi-display DMXEPG or other multi-screen applications.

FIG. 153 shows DMXEPG screen displayed in three dimensions.

FIG. 154 shows DMXEPG screen displayed in three dimensions.

DETAILED DESCRIPTION OF THE INVENTION

Following is a lexicography of terminology used in this specification:

“Select” button—STB remote control button shown on some remote controls as “Select”, or “OK”, or “Enter”, or under other equivalent name

DMXEPG—Dynamic Mosaic Extended Electronic Programming Guide

Focus—highlighted or otherwise emphasized screen element

iTV—interactive television. Any content that involves subscriber input and provides response to that input

ME—Mosaic Element

MEC—Mosaic Element Component

pressing a button—the specification discloses a conventional button-based remote control device. However, any suitable control device is contemplated, and it need not necessarily contain buttons which are pressed. It is understood that all references herein to pressing a button refers to activating an action, whether by actual button press or some other action; e.g., a voice command.

Program—any show or event transmitted over a channel

Service Provider—entity that offers video services over cable, satellite, terrestrial digital, video over interne, IPTV, fiber, or other types of infrastructure.

STB—set top box. When applicable, STB may be used as a substitute for the terms

Subscriber Device or Client Device. The STB is a device which allows service subscriber to receive and decode digital stream.

VOD—video-on-demand. Service that allows a subscriber to start chosen video program stored by the service provider. Term VOD is also used to substitute term COD (content-on-demand). COD may or may not include video in addition to a combination of audio, interactive, graphical, or any other type of transmittable content.

MTVSS—Matrix TV Server Suite

Tuner—system module that allows to filter desired program stream. For example, program stream can be transmitted over RF network; it can also be transmitted over digital packet delivery network, like Internet.

Following is a list of the reference numerals used in FIGS. 1-127 of the specification:

Num- ber Description  1 Full screen video  2 Clipped video source  3 Video processor  4 Mosaic element processed for insertion into DMXEPG  5 Mosaic element inside DMXEPG  6 Headend generated DMXEPG video stream  7 Remote control   7a Arrow Up button  7b Arrow Down button   7c Arrow Left button  7d Arrow Right button   7e Zoom in button    7f Zoom out button  7g Select button  7h Info button  8 Display device  9 DMXEPG application screen (video and graphics) displayed on client device 10 Generic Mosaic Element (Video, Picture, Application, etc. see FIG. 5) that is “in focus” 11 Video feed scaled by the client device 12 Full screen video on a client device 13 Digital TV headend 14 Client video source (DVD, VCR, Camcorder, etc.) 15 Video input in the client device 16 DVR or PVR video decoder 17 Digital video decoder 18 Video tuner (digital/analog) 19 RF Splitter 20 RF Switch 21 Microprocessor 22 Mosaic Application Memory 23 RF input 24 Video Processor (Scalier) 25 Video Processor Combiner 26 Client device (e.g., STB/Media center, Digital television system module, video processing card in a PC, any portable wireless device such as a PDA or a cell phone, and so on) 27 Graphic component of the DMXEPG application 28 Interactive Application Canvas (Partial Screen) 29 DMXEPG Screen Title 30 Interactive Application Canvas (Full Screen) 31 Original DMXEPG video feed with aspect ratio 4 × 3 32 Original DMXEPG video feed with aspect ratio 16 × 9 33 Original DMXEPG video feed with aspect ratio M × N 34 ME with aspect ratio 4 × 3 35 ME with aspect ratio 16 × 9 36 ME with aspect ratio M × N 37 Background 38 DMXEPG video stream on display 39 Screen Title (also referred to as Screen name) 40 Current Time 41 Screen branding area 42 ME with the “IDLE focus” 43 The Show/program title bar 44 The Show/program title bar which is belongs to the focused mosaic element 45 Show/program description 46 The sign to show ability to scroll description information 47 Screen title 48-50 (unused) 51 MEC HE 52 MEC STB 53 MEC video loop 531  MEC audio loop 54 MEC Image 55 MEC Application 56 MEC link to the Application 57 MEC link to the video program chosen by a subscriber 58-59 (unused) 60 ME video (HE or STB) 61 ME picture 62 ME Application 63 ME Game (may include any combination of 51, 52, 53, 531, 54, 55, or 56) 64 ME Entry to the Games or Game Categories list 65 The Game title bar 66 The game title bar belongs to the focused Game Mosaic Element 67 ME Game in PAUSE state 68 ME Game Category (may include any combination of 51, 52, 53, 531, 54, 55, or 56) 69 The Game Category screen title, which includes name of the game category and branding area. 70 ME Program/show/event (may include any combination of 51, 52, 53, 531, 54, 55, or 56) 71-79 (unused) 80 ME - entry to the Program Browser Mosaic for specific category (may include combination of 51, 52, 53, 531, 54) 81 ME Link to the application 82 ME link to the channel browser 83 ME link to the VOD programs browser 84 ME link to the PVR recorder program browser or to the Programs Grid 85 Creping line 86 ME: headend generated video 87 ME: STB generated scaled video 88 Generic Mosaic Element in the focus in the DESCRIPTION (info) MODE 89 Sign “PLAY”, which is indicates that user may play scaled/full screen video for this mosaic element (video loop is stored on STB HD or on the VOD server) 90 Non-broadcast program video-on-demand (VOD) 91 Non-broadcast program. Program is recorded by PVR. This program belongs to the selected program category (KIDS) 92 Infomercial title 93 ME: Infomercial 94 The Title of the program, which is belongs to the selected channel 95 The Title of the currently broadcasted program, which is belongs to the selected channel 96 Infomercial description 97 ME, which is in LOST focus, focus on the listings line 98 The title of the program in the focus 99 Program description ME with the focus on it 100  The Title of the program for specific channel 101  The Title of the program for the focused ME 102  Programs Grid 103  ME, which is an entry to the specific VOD category 104  Sign on the program title bar, which indicates that this program or similar programs are available on VOD system 105  EPG National Meta Data Server 106  EPG Local Meta Data Server 107  Local VOD Assets server 108  EPG data encapsulator

Following is a list of the reference numerals used in FIGS. 128-152 of the specification:

Num- ber Description 1 Display device 2 The screen of the display device 3 Generic input for video and/or data Composite Audio/Video Input DVI 1.0 Digital HDTV input with HDCP Copy Protection IEEE 1394 Digital Input with 5C copy protection USB input WIRELESS connection 4 Generic output for video and/or data: Composite Audio/Video output DVI 1.0 Digital HDTV output with HDCP Copy Protection IEEE 1394 Digital output with 5C copy protection USB output WIRELESS connection 5 a client device (e.g., STB/Media center, Digital television system module, video processing card in a PC, any portable wireless device such as a PDA or a cell phone, and so on) 6 Video/Data connection for the wired implementation or video/data flow for wireless connection 7 Remote control receiver device 8 Remote Control device 9 Interactive Application Canvas (Partial Screen) 10 Generic Mosaic Element in focus 11 Generic Mosaic Element 12 Full Screen Video 13 Program Title bar in focus 14 Program Title bar 15 Program Description 16 Channel Name and channel number indicator 17 The current time indicator 18 Button Display1 on the remote control 19 Button Display2 on the remote control 20 Interactive Application 21 The instance on DMXEPG application. 22 The HScreen instance 23 The HScreenDevice objects, instances of HGraphicsDevice class 24 The HScreenDevice objects, instances of HGraphicsDevice class 25 The HScreenDevice object, instance of HBackgroundDevice class 26 The screen area of the touch screen display device 27 The SCROLL button2 28 RF input/connection to the STB/Digital TV/Media center 29 Screen Title 30 Touch screen video device 31 CLEAR button 32 MOVE/REMOVE button 33 Arrow UP button (PAGE) 34 HOME button 35 Arrow DOWN (PAGE) button 36 INFO button 37 MUTE button 38 Microprocessor 39 Application memory 40 Tuner 41 Combiner of the Video Processor 42 RF Splitter 43 Tuner 44 Video decoder 45 Video Processor - video scale 46 DVR's Hard Drive 47 Cable, Satellite, IPTV, Terrestrial, or other digital TV Headend 48 Generic video processor 49 Touch screen display 50 Touch screen user input analyzer device 51 Graphics Processor

Aspects of a user interface in accordance with the present invention are explained in detail in the illustrative embodiment of the present invention disclosed below relating to electronic program guides for accessing broadcast content. It will be appreciated by one of ordinary skill that any type of content can be accessed using a user interface that incorporates the various elements disclosed hereinbelow.

FIG. 1 is a DMXEPG main page (an EPG screen) which, in accordance with the invention, displays multi-dimensional UI with dynamically assigned programs, iTV applications, video loops, icons, sound, pictures or any other content components to each ME taking into consideration service provider infrastructure and subscriber STB capabilities, business rules of service provider; business rules of a broadcaster; customer profile: geographic location, time of the day in the location, past personal preferences; channel metadata, program properties, and other program or subscriber relevant data. Subscriber can observer multiple video streams displayed on the screen and navigate the screen by changing the focus from any one displayed object to another displayed object. For the subscriber, a change in focus is indicated by visual or audio elements; for example, a beeping noise can be emitted, and visual cues such as blinking or highlighted outlines can be presented. Once in focus, ME enables audio for the corresponding program and gives the ability to the subscriber to trigger predefined response once the subscriber presses “Enter” on the remote control or STB.

Returning to FIG. 1, the DMXEPG main page can accommodate various numbers and sizes of displayed MEs. Program types that are assigned to the MEs can be added, removed, or relocated. The number of programs assigned to one ME and their rotation schedule. Changes to the DMXEPG main page can be triggered by time of the day, day of the week, week of the month, etc., special events, or other program or business criteria.

FIG. 1 shows the MEs as rectangle-shaped elements. However, it is possible to use other shapes for the MEs; e.g., circular MEs, elliptical, other polygonal shapes, combinations of various shaped MEs, and so on. However, for the specification, rectangle-shaped MEs will be discussed.

FIG. 2 is DMXEPG second or lower level screen which, in accordance with the invention, comprises dynamically assigned MEs. This means that each ME is assigned to a program that matches predefined content category while taking into consideration criteria such as program properties, business rules of the service provider, business rules of a broadcaster, customer profile, and preferences. Similarly to DMXEPG main screen, a subscriber can navigate the page, change focus from any to any screen elements and by pressing “Enter” on the remote control or STB, thus triggering predefined response. Such response includes display of a lower level DMXEPG screen; launch of iTV application; tuning to a channel; switch of audio channel; display of the text synchronized with audio track (closed captioned or subtitles); information for the current or the next program, or other predefined action.

FIG. 3 is multi-dimensional DMXEPG which, in accordance with the invention, enables a subscriber to view and select ongoing programs which are grouped, among other criteria, by content category, thus simplifying and expediting a task of identifying, viewing, comparing, and selecting one of desired programs. The system is capable of dynamically generating necessary number of DMXEPG levels to expose to subscribers some or all programs in a content category and satisfy business and technical objectives of broadcaster and service provider.

FIG. 4 is DMXEPG arranged in two levels. DMXEPG screen of the first level displays content categories and matched video feeds. Subscribers by moving focus on the screen switch corresponding audio and by pressing “Enter” view larger number of video feeds that match content category in the DMXEPG second level screen. There, by pressing “Enter” on focused ME subscribers may leave DMXEPG and trigger STB to tune to a channel which is carrying currently displayed program.

FIG. 5 shows the composition of an ME. Each ME can include any number of the following components (each component being referred to as “media content”, or simply “content”): video program selected by the service provider; video channel chosen by a subscriber; video program chosen by a subscriber; video loop from broadcast stream, RAM, or hard drive; image; service provider or subscriber chosen iTV application as well as a link to iTV application. When applicable, an ME can include: channel number, program name, program status bar which displays program remaining time. When permitted by STB or service provider infrastructure (for example dual tuner STB or VOD system) subscriber can select channel assigned to the ME.

FIG. 6 shows a DMXEPG that was generated in the morning hours. The figure shows that the DMXEPG matches most common subscriber program preferences or service provider or broadcaster business objectives. On the other hand, FIG. 7 shows a DMXEPG generated in the evening hours which matches most common subscriber program preferences or service provider or broadcaster business objectives. As can be seen between FIGS. 6 and 7, the same level DMXEPG screen has different program composition in the morning and evening hours.

FIG. 8 shows a DMXEPG screen configured with peripheral MEs of different sizes. A subscriber moves the focus to a desired peripheral ME, presses “Select” or its equivalent button on the remote control or STB and a larger ME in the center of the display switches its video program and its audio to the program that matches the in-focus ME. This capability is possible on STBs with two or more tuners or on an infrastructure that supports a VOD system.

FIG. 9 is a DMXEPG screen similar to the screen in FIG. 8, but for a configuration where the STB has only one tuner and where there is no VOD system. In this configuration, the service provider assigns a program to the center ME. When the focus is changed from one peripheral ME to another, only the audio can be switched. The “Select” button allows subscriber to switch to the next DMXEPG level or to tune to desired program.

FIG. 10 is a DMXEPG screen comprising some MEs which display programs assigned by the service provider and other MEs which display channels or iTV applications selected by the subscriber. This functionality can be provided by an STB with multiple tuners or by a VOD system.

FIG. 11 is a DMXEPG screen which is generated with 16 peripheral MEs. The number of displayed MEs and their location was generated by the system which takes into account number of available programs that match selected content category, iTV applications and favorite channels selected by subscriber, TV screen size and resolution.

FIG. 12 is a DMXEPG screen which is generated with 9 peripheral MEs. The number of displayed MEs and their location was generated by the system which takes into account number of available programs that match selected content category, iTV applications and favorite channels selected by subscriber, TV screen size and resolution.

FIG. 13 is a DMXEPG screen which is generated with 5 peripheral MEs. The number of displayed MEs and their location was generated by the system which takes into account number of available programs that match selected content category, iTV applications and favorite channels selected by subscriber, TV screen size and resolution.

FIG. 14 is a DMXEPG screen with some MEs having association to more than one iTV application. Pointer to iTV applications can be assigned by the service provider and by subscriber. Multiple iTV applications assigned to an ME are displayed one at a time and can rotate at preset or default time interval. Subscriber can link any accessible iTV application to desired ME.

FIG. 15 is a DMXEPG screen showing the case when some MEs are set to display programs that match screen content criteria but fail subscriber parental rating limit. In such a case, subscriber has an option to enter PIN code to let a DMXEPG client application remove overlay and display programs that fail parental rating limit. If subscriber does not enter correct PIN code, programs that exceed parental rating limit will continue to be blocked. MEs with blocked programs can be overlaid with static on-screen display (OSD) image. The DMXEPG client application allows the user to navigate the DMXEPG hierarchy (e.g., as shown in FIG. 3) on the client device.

FIG. 16 is a DMXEPG screen showing the case when video or audio content that is removed from some MEs; for example as a result of “blackout” properties using head end's conditional access information (sports events can be blacked out). The Matrix SuperSplit server discussed below can dynamically replace a program marked as “blackout” by another program. Alternatively, Interactive Mosaic Client Application may use static OSD image or text to indicate cells with blackout properties or mark ME and disallow subscriber to set focus to that cell.

FIG. 17 is a DMXEPG screen showing the case when video or audio content is removed by the DMXEPG client application from the MEs because subscriber has not been authorized to access that channel. Service provider can choose to disallow subscriber to set “focus” to the ME for the duration of program on non-authorized channel, or corresponding audio.

FIG. 18 is a conventional DMXEPG with channels statically assigned to its MEs. The channels assigned to the DMXEPG are shown below, illustrated in a conventional programming guide format. Each ME represents a channel and not a program. ME association to the channel does not change for the extended period of time. Each DMXEPG screen displays semi-permanent group of channels.

FIG. 19 is an example of a schedule for a DMXEPG screen composition according to an aspect of the present invention with its MEs being assigned and reassigned to different channels to match service provider or broadcaster business rules. For explanatory purposes, the schedule of channels that are assigned to this DMXEPG screen are illustrated below the DMXEPG screen in conventional programming guide format.

FIG. 20 is an example of schedule for DMXEPG screen composition according to an aspect of the present invention with its MEs being assigned and reassigned to different channels with programs that match pre-defined content category for that ME. For explanatory purposes, the schedule of channels that are assigned to this DMXEPG screen are illustrated below the DMXEPG screen in conventional programming guide format.

FIG. 21 is an example of a DMXEPG that incorporates an iTV application in one ME. To prevent screen's burnout, iTV data is rotated, and it positioning is continuously changed. If a subscriber selects an ME to which an iTV application is assigned, additional information related to that iTV application can appear on a creeping line. Also, to prevent screen burnout information in the creeping line is rotated among application or disappears after timeout.

FIG. 22 is a DMXEPG page with one of its ME allocated to a group of iTV applications. iTV applications share an ME's space and rotate, appearing one at a time for pre-set time interval.

FIG. 23 is a head-end data flow through MTVSS. MTVSS gets raw EPG data from an EPG listings data provider (e.g. Tribune Media Services, TV Guide, or TV-Anytime). Available data delivery mechanisms include downloading from an FTP site, a Virtual Private Network, or a Data Broadcast Carousel. MTVSS imports raw EPG data into the MTVSS database. In most cases, EPG listings data provider supplies accurate data, which includes local programming, for 14 days.

MTVSS filters all programs by program category, subcategory, and genre. The figure depicts filtering by program subcategory “CARTOONS”. As a result of this data processing, system creates record set of all programs during the next 14 days across multiple channels (uniquely identified by source_id) and multiple head-ends (cable, satellite, or other) with the subcategory “CARTOONS”.

MTVSS will process data set made during step 233 and generate Interactive Mosaic channel insertion schedule for all channels that includes “CARTOONS” programs across multiple head-ends. MTVSS will generate schedule for short period (e.g. 1 day), because EPG schedule might dynamically change even inside 14 days windows.

On the local head-end MTVSS will apply (step 235) the local channel lineup, local business rules (e.g. channel priorities, non-video interactive mosaic element components), local conditional access rules (e.g. program rating, blackout), “last-minute” listings update data.

After step 235, MTVSS will generate real-time insertion schedule 236 for CARTOON programs which are broadcasted on this local head-end.

FIG. 24 shows logical components of the MTVSS. EPG listings data aggregator server 241 provides data to the Matrix Meta Data Server (MMDS). Daily, EPG data server refreshes data set and provides listings data for the next 14 days. The daily data set is the most accurate for the next day. There are two ways to retrieve the data: data “push” and data “pull”. For example Tribune Media Services (TMS) provides the “pull” method using their secure FTP site. To get data from TMS, MMDS uses a secure ftp connection to retrieve EPG listings data.

Matrix Remote Monitoring Terminal (MRMT) 242 is a web based interface that allows a system operator to access MTVSS. Once authenticated, the system operator accesses tasks and processes enabled by his security level. The system operator can perform a number of functions including: retrieval of Matrix Meta Data Server status, retrieval of Matrix Scheduler status, retrieval of Matrix SuperSplit status, and retrieval of logs, traces, and statistics for all MTVSS components. Matrix remote management portion of MRMT is a web based interface that allows the system operator to access MTVSS. Depending on granted permissions, the system operator can manage specific tasks and processes. The system operator can perform the following functions: start and stop any process on any MTVSS component, update configuration parameters for any MTVSS component.

Matrix Meta Data Server 243 comprises four components: Data Delivery Manager, Data Translation Manager, Data Cache Manager, and Matrix National resolution EPG database.

Data Delivery Manager (DDM) is designed to retrieve EPG data from data aggregator server and store data in the local database. Data Delivery Manager can be customized with configuration file which includes data delivery schedule and secure connection login parameters (e.g. secure ftp connection). DDM can deliver data from multiple data sources (e.g. Tribune Media Services, TV Guide, TV-Anytime). Data Translation Manager (DTM) translates and converts original EPG data using Data Translation Plug-ins (DTP). DTM may support multiple DTPs for different EPG data providers (e.g. one for TMS, one for TV Guide, etc.). Data Cache Manager provides database interface for all MMDS tasks. Matrix National resolution EPG database stores original EPG data (retrieved from EPG aggregation server) and data translated to the Matrix Meta Data database. This database stores the channel lineup for all service providers in a region.

Matrix Scheduler (MS) 244 receives and retrieves the following data:

Matrix Local resolution EPG database data (for specific head-end, or set of head-ends) from Matrix Meta Data Server. Additional conditional access data (e.g. program rating, program blackout, etc.) from local digital access controller (e.g. DAC 6000—Motorola head-end, DNCS—Scientific Atlanta head-end, DCAS server). “Last minute” program update data from EPG listings update terminal 245 Enhanced data and Interactive Application insertion Terminal (EIAT) 247. EIAT provides data for all mosaic element components except “video program selected by service provider” e.g.:

-   -   Images     -   Video loops     -   Audio loops     -   Interactive applications     -   Still images     -   Texts     -   Interactive advertisement         Content Filtering Criteria received from either service provider         or third party.

Matrix scheduler comprises five major components: Local Headend Configuration Manager, STB Mosaic GUI Configuration Manager, DMXEPG Application Configuration Manager, Mosaic Meta Data generator, and Matrix Local resolution EPG database importer. Local Headend Configuration Manager is designed to apply local technical (e.g. channel lineup, MPEG2/DCII SI/PSIP tables configuration) and business rules (e.g. channel assignment priority) to the final program mosaic video stream and mosaic meta data. SIB Mosaic GUI Configuration Manager allows a service provider to configure the graphical user interface and provides navigation for the DMXEPG Client application.

Mosaic meta data generator builds Interactive Mosaic descriptor, Interactive Mosaic Master Table, control and scheduling data for the Matrix SuperSplit, and additional mosaic meta data discussed in more detail below. Matrix Local resolution EPG database importer stores EPG listings data in the local database.

Real time or manual EPG listings update terminal 245 is a web based interface that allows system operator to update EPG listings data on local and national head-end before broadcasting.

Matrix Scheduler Configuration terminal 246 is a web based interface that allows system operator to configure program mosaic video stream, DMXEPG Client Application, insert local technical information, insert local business rules, and assign mosaic element components (FIG. 5) to the different mosaic elements.

Enhanced data and Interactive application Insertion terminal 247 is a web based interface that allows system operator to insert/assign mosaic element components (FIG. 5) to the Interactive mosaic. Matrix SuperSplit (MSS) 248 is a real time digital video processor which can:

-   -   Tune to the scheduled channel and program using Matrix Scheduler         control information     -   Compose mosaic video stream     -   Compose mosaic audio stream     -   Encapsulate Interactive Mosaic private data     -   Encapsulate modified Service Information tables

The MSS receives:

-   -   private interactive mosaic tables descriptors, mosaic element         components scheduling data (for example, which broadcasted video         program should be inserted in the final mosaic video stream)         from Matrix Scheduler     -   additional mosaic element components content (e.g., video/audio         loops) from Enhanced data and Interactive application Insertion         terminal 247     -   video feed which includes all channels sent by service provider

The MSS composes the final mosaic digital stream which comprises:

-   -   Mosaic video stream     -   Multiple audio streams, if applicable     -   DMXEPG Client Application, if applicable     -   Modified Service Information Data (E.g. PMT, SDT, CVT), if         applicable     -   Private Interactive Mosaic tables and descriptors     -   QAM/upconverter 249 (or its IPTV equivalent) modulates Matrix         SuperSplit output     -   RF combiner 2410 (or its IPTV equivalent) combines original         video feed with the Interactive Mosaic Virtual channel

FIG. 25 is an algorithm to minimize or eliminate TV screen “burnout” caused by an interactive mosaic which may comprise a number of static graphics elements like “non-video” mosaic element components, mosaic screen background, and mosaic screen creeping line. To prevent TV screen “burnout”, system uses any combination of following rules and actions:

For “non-video” mosaic components (e.g. image, text, application):

-   -   Dynamically change position of the mosaic element with the         “non-video” mosaic component .In this case we have to regenerate         mosaic video feed by MSS 248 and interactive mosaic private         tables/descriptors by MS 244.     -   Dynamically rotate multiple “non-video” mosaic components, using         transition effects (e.g. rotate weather application and market         stock application)     -   Dynamically change text/images positioning inside static mosaic         element         For Mosaic screen background:     -   Try do not use gaps between video cells     -   Dynamically change mosaic screen background     -   Use transition effects during background image update         Use intelligent timeout for mosaic creeping line

FIG. 26 and FIG. 27 show ways to activate the DMXEPG Client application (DMXEPG-C). The DMXEPG-C can be downloaded to the STB RAM memory via any available transport mechanisms:

-   -   In band data carousel (e.g. DSMCC)     -   In band private tables or message (MPEG2—private section,         DCII—text message)     -   VBI data     -   Return path interactive channel     -   Out of band data carousel     -   Out of band private messaging

DMXEPG-C also can be stored in the available medium such as flash memory, hard drive, or another STB's persistent storage as STB's resident application. There are two scenarios to activate DMXEPG-C, depending on its location. FIG. 26 shows activation process when DMXEPG-C is downloaded to the box after subscriber tunes to the mosaic channel. FIG. 27 shows activation process when DMXEPG-C is stored in the STB persistence storage.

FIG. 28 shows relation between standard MPEG2 transport tables and additional private Interactive Mosaic Tables and descriptors. Following is a discussion of the descriptors and tables showing an example of the syntax for Interactive Mosaic Descriptor and Interactive Mosaic Master Table.

Interactive Mosaic Private Tables and Descriptor (MPEG 2 Private Section)

The interactive mosaic descriptor can be located in the following MPEG 2/ATSC SI/PSIP /DVB SI tables:

ATSC PSIP:

-   -   Virtual Channel Table (VCT)         -   Satellite_virtual_channel( )—descriptors loop         -   SMATV_virtual_channel( )—descriptors loop         -   Broadcast_virtual_channel( )—descriptors loop         -   Virtual_channel( )—descriptor loop

DVB SI:

-   -   Service Description Table (SDT)—descriptors loop

MPEG 2

-   -   Program Map Table (PMT)         -   TS_program_map_section( )—program_info descriptor loop

A digital program which carries interactive mosaic can include the interactive mosaic descriptor inside its Program Map section in the program information descriptors loop.

TABLE 1 Syntax of private Interactive Mosaic Descriptor Syntax Bits Bytes Mnemonic Interactive_mosaic_descriptor( ){ Descriptor_tag 8 1 uimsbf Descriptor_length 8 1 uimsbf For (j=0; j<N_table_ids; j++){ MatrixTV_table_id 8 1 uimsbf } }

TABLE 2 MatrixTV_table_id values MatrixTV_table_id Matrix TV data stream 0xD0 Interactive Mosaic Master Table 0xD1 Interactive Mosaic Resources Table 0xD2 Interactive Mosaic Applications Table 0xD3 Reserved 0xD4 Reserved

TABLE 3 Syntax of Interactive Mosaic Master Table (IMMT) Syntax Bits Bytes Mnemonic Interactive_mosaic_master_table( ){ Table_id (see table 1) 8 1 Uimsbf Section_syntax_indicator 1 bslbf Reserved_future_use 1 Bslbf Reserved 2 Bslbf Section_length 12 2 Uimsbf Table_id_extension 16 2 Uimsbf Reserved 2 Bslbf Version_number 5 Uimsbf Current_next_indicator 1 2 Bslbf Section_number 8 1 Uimsbf Last_section_number 8 1 Uimsbf Interactive_mosaic_entry_level 1 Bslbf Reserved 7 2 For(i=0;i<N;i++){ mosaic_element_id 8 1 Uimsbf mosaic_element_type 4 Uimsbf Mosaic_cell_record_length 12 2 Uimsbf On_left_key_press_mosaic_element_id 8 1 Uimsbf On_right_key_press_mosaic_element_id 8 1 Uimsbf On_up_key_press_mosaic_element_id 8 1 Uimsbf On_down_key_press_mosaic_element_id 8 1 Uimsbf Horizontal_offset 14 Uimsbf Horizontal_size 14 Uimsbf Vertical_offset 14 Uimsbf Vertical_size 14 7 Uimsbf Mosaic_element_components_count 8 1 Uimsbf For(j=0;j<mosaic_component_components_count;j++){ If( mosaic_component_components_count > 1){ Repeat_flag 1 Bslbf If(repeat_flag ==0){ Start_time 32 4 Uimsbf } Duration_in_seconds 15 2 Uimsbf } mosaic_element_component_descriptor( ) * ((*)) } }

TABLE 4 Syntax of mosaic element component descriptor Syntax Bits Bytes Mnemonic mosaic_element_component_descriptor( ){ Descriptor_tag 8 1 Uimsbf If(descriptor_tag == 0x01){ Video_steam_locator( ) * CA_descriptor( ) * } If(descriptor_tag == 0x02){ Audio_stream_locator( ) * CA_descriptor( ) * } If(descriptor_tag == 0x03){ Video_loop_locator( ) *  CA_descriptor( ) * } If(descriptor_tag == 0x04){ Audio_loop_locator( ) *  CA_descriptor( ) * } If(descriptor_tag == 0x05){ Still_picture_locator( ) * } If(descriptor_tag == 0x06){ Image_locator( ) * } If(descriptor_tag == 0x07){ Application_locator( ) * } If(descriptor_tag == 0x08){ Private_data_locator( ) * } }

The resource locators' descriptors and Interactive Mosaic Resources Table and Interactive Mosaic Application Table are protocol/transport depended (may be one for DVB SI, one for ATSC PSIP, one for OCAP, one for DSMCC).

FIG. 29 shows local and national MTVSS configurations. MTVSS have three configuration options: National-1 (MTVSS-N1), National-2 (MTVSS-N2), and Local (MTVSS-L).

a) MTVSS-N1 291 generates local real-time program insertion schedule in the national network operation centre (NNOC) and delivers the data to the local Matrix SuperSplit server(s), which generates DMXEPG screens. b) MTVSS-N1 292: local video stream generates by the Matrix SuperSplit server(s) located in NNOC. This option has better scalability because it does not require any changes on a local head-end where DMXEPG screens are delivers over existing digital TV infrastructure. c) MTVSS-L 293 generates local real-time program insertion schedule using local Matrix Scheduler Server(s) and delivers the data to the local Matrix SuperSplit server(s), which generates DMXEPG screens.

FIG. 29 a shows MTVSS configurations for DMXEPG screen implementation on client device. MTVSS implementation in 294 comprises a Matrix Scheduler as part of service provider backend. That configuration allows service provider to control ME mosaic element presentation criteria.

The MTVSS implementation in 295 consists of Matrix Scheduler as part of subscriber device. That configuration allows subscriber or third party to control ME mosaic element presentation criteria. The criteria service provider can be any third party that provides mosaic element presentation criteria that is used by the Matrix Scheduler. The criteria service provider can be the manufacturer of the client subscriber device. The criteria service provider can be the subscriber. In the general case, the mosaic element presentation criteria may comprise criteria from any combination of third party providers, the manufacturer, and/or the subscriber.

Mosaic element presentation criteria can be delivered using any suitable delivery medium including an Internet connection, a dial-up service, over the airwaves, satellite link, cable link, and so on. The subscriber can be provided with criteria on a CD that can be installed in the subscriber device.

FIG. 30 shows remote control which, in accordance with the invention, incorporates rotating element which can be used by subscriber to simplify navigation of DMXEPG or any iTV application. Subscriber can manipulate the rotating element by rotating it up or down, as well as pushing it toward or away from himself, or depressing it into the remote control, or finally releasing it after it has been depressed into the remote control. STB maps movements of the rotating element with the DMXEPG or iTV application functions.

FIG. 31 shows how to “virtually” increase the size of the video or visual program displayed in an ME since the ME size can be too small to show the entire video in a discernable manner. To solve the problem, the video or visual program can be virtually expanded by clipping less critical area around the center of the video and stretching the remaining video to fill in a ME. The figure shows clipping to extract a central portion of the video. The user can clip other regions of the video to extract portions of the video other than the central portion.

Numerous combinations of aspect ratios of video sources and aspect ratios of the display area are possible. Typical combinations include:

a 16×9 video source converted to a 4×3 ME a 4×3 video source converted to a 16×9 ME a 16×9 or a 4×3 video source converted to an ME of non standard aspect ratio

To virtually increase the size of the video, it is necessary to clip a percentage of the original video feed (which is usually lost because of TV overscan) and scale it to the size and aspect ratio of the target ME. As shown in FIG. 31, the video is clipped to produce a clipped video source. The clipped video source is then expanded (scaled up, sized up, etc.) and incorporated into the target ME. The figure shows the original video has a 4×3 aspect ratio and the target ME has a 4×3 aspect ratio. The clipped video source therefore has a 4×3 video source.

FIG. 32 shows clipping for an original video source having a 4×3 aspect ratio that is targeted for an ME that has a 16×9 aspect ratio. The clipping is performed with a rectangle having an aspect ratio of 16×9 s the video can be scaled up to fit the target ME without distorting the original video.

To further illustrate this clipping aspect of the present invention, FIG. 33 shows clipping for a 4×3 original video source (i.e., its aspect ratio is 4×3) to fit into a target ME having a non-standard aspect ratio. FIG. 34 clipping for a 16×9 original video source to fit a 16×9 ME (i.e., its aspect ratio is 16×9). FIG. 35 clipping for a 16×9 original video source to fit a 4×3 ME. FIG. 36 shows clipping for a 16×9 to fit a non-standard ME.

FIGS. 37-44 show that a subscriber can zoom in on an ME that is in focus. FIG. 37 shows how a subscriber can expand the size of a 4×3 ME (Le., its aspect ratio is 4×3) that is in focus including the video displayed in it to a larger (zoomed in) 4×3 ME. This operation is done by a second tuner connected directly or indirectly to the display, and is performed when the user activates a control to perform zooming. For example, the figures shows “zoom in” button on a remote control that can be used to activate zooming in. The original aspect ratio of ME may or may not be preserved in the expanded ME. For example, FIG. 37 illustrates an example where the aspect ratio is preserved when zooming is performed on the ME in focus.

Other aspect ratios can be accommodated. FIG. 38 shows zooming in of a 4×3 original ME to an expanded ME having a 16×9 aspect ratio. FIG. 39 shows zooming in of a 16×9 original ME to a 16×9 enlarged ME. FIG. 40 shows zooming in of a 16×9 original ME to a 4×3 enlarged ME. FIG. 41 shows zooming in of a 16×9 original ME to a non-standard zoomed-in ME (i.e., the ME has a non-standard aspect ratio). FIG. 42 shows zooming in of a 4×3 original ME to a non-standard zoomed-in ME (i.e., the ME has a non-standard aspect ratio). FIG. 43 illustrates a configuration where the in-focus ME has a non-standard aspect ratio where zooming results in a 4×3 expanded ME, while FIG. 44 shows an 16×9 expanded ME.

FIG. 45 illustrates that the subscriber can further expand the size of the zoomed-in ME to a full-screen video. This action can be activated by an additional press of the zoom-in button on the remote control. The full-screen video may take on the aspect ratio of the display, or take on its original aspect ratio as broadcast.

FIGS. 46 and 47 show that the subscriber can reverse the series of zoom-in's by zooming out. This action is activated by pressing the zoom-out button on the remote control. FIG. 46 shows that a full-screen display can be reduces to its previous state (size) which is the expanded ME. A further activation of the zoom-out button will cause the expanded ME to return to its original size, as illustrated in FIG. 47.

FIG. 48 shows the use of the SELECT button to expand the size of ME and bring it back to it original state. By repeated activation of the SELECT button, the in-focus ME can cycle from original size, then to expanded size, then to full-screen size as shown in the figure. Further activation of the SELECT button may restore the video in reverse order. Thus, the full-screen size is reduced to the expanded ME, then to the original-sized ME with another press of the SELECT button.

FIG. 49 shows an alternative embodiment of FIG. 48. When the video is displayed in full-screen mode, the press of the SELECT button returns the video to the original-sized ME. This may be preferable over the sequence shown in FIG. 48 in that the user who is viewing the full-screen video may simply want to return to the display of MEs without having to traverse through the intermediate step of the expanded ME.

FIG. 50 shows that the subscriber can change location of an expanded ME on the screen by using the arrow keys on the remote control (or by a voice command in the case of a voice-based control device). The expanded ME can move about the screen in pixel-sized increments, or on other increments of distance. Keeping an arrow key depressed can cause the expanded ME to accelerate from a small increments in movement to larger increments in movement. These and other motion dynamics can be provided.

FIG. 51 shows that DMXEPG can comprise MEs which are generated on the headend MEs which are generated on the subscriber (client) side. The notation “HE” refers to those MEs that were generated at the headend, while the notation STB indicates MEs generated on the subscriber side; e.g., by the subscriber's STB.

FIG. 52 shows major system elements and their connections to enable subscribers to display DMXEPG with some of the MEs selected by subscriber from an additional content any source available to subscriber. The components of the client device according to the present invention are enclosed by the phantom lines. The figure shows that the subscriber subscribes on one content provider; e.g., a cable company, a satellite dish, and so on. Additional content sources, identified in the figure as client video sources 1 and 2, can be connected to the client device.

FIG. 52 a shows major system elements which allow entire DMXEPG screen to be created by subscriber device with multi-tuner capability. As an example, when input signal is transmitted over RF, subscriber device can include input module that splits incoming signal to feed subscriber device tuners.

FIG. 53 is similar to FIG. 52, but for a configuration where the subscriber has access to more than one content provider. The configuration of FIG. 53 shows a switch for switching among the multiple content providers.

FIG. 54 shows major system elements and their connections to enable subscribers to display expanded ME in the DMXEPG using the same content source.

FIG. 55 shows major system elements and their connections to enable subscribers to display expanded ME in the DMXEPG using more than one content source.

FIGS. 56-58 are tables that illustrate combinations of scaling and displaying video for different combinations of aspect ratios among the DMXEPG application screen 9 (FIG. 37, for example), an in-focus ME, the original video stream, and the display. The DMXEPG application screen contains an array of MEs.

FIG. 59 shows process of scaling source video to ME when source and destination aspect ratios are or are not the same.

FIG. 60 shows examples of different arrangements of MEs in a DMXEPG application screen (e.g., element 9 in FIG. 37), for different combinations of aspect ratios of the DMXEPG application screen and the MEs. Thus, for example, a 4×3 DMXEPG application screen (i.e., having an aspect ratio of 4×3) can accommodate a 3×3 array of MEs having an aspect ratio of 4×3. A 16×9 DMXEPG application screen can fit a 4×3 array of MEs having an aspect ratio of 4×3. More generally, an M×N DMXEPG application screen can fit an array of 4×3 MEs leaving some unused space which can be filled with a suitable background pattern. Table 4 in FIG. 60 lists examples of various combinations of DMXEPG application screen and ME arrangement. FIGS. 61-63 illustrate examples where MEs of different aspect ratios can be used to populate a DMXEPG application screen.

FIG. 64 illustrates an example of a Pay Per View portal created with MEs. A screen name area identifies that this screen is a “pay per view” portal. A screen branding area allows for a sponsor's logo; e.g., STARCOM.

FIGS. 64 and 65 illustrate that the title bar corresponding to the in-focus ME is highlighted in addition to the in-focus ME. In addition, the titles for the row of MEs that includes the in-focus ME are displayed in an area below the array of MEs. Thus, in FIG. 65, ME3 is in focus and the titles for ME1 to ME4 are shown. In FIG. 66, the in-focus ME is ME7, and so the titles for ME5 to ME8 are shown. Further examples are shown in FIGS. 67-69. FIG. 69 shows that an in-focus ME can be purchased for viewing by pressing the SELECT button on the remote control.

FIG. 66 shows Pay Per View portal created with MEs.

FIG. 67 shows Pay Per View portal created with MEs.

FIG. 68 shows Pay Per View portal created with MEs.

FIG. 69 shows Pay Per View portal created with MEs.

FIG. 70 shows example of UI and navigation in the DMXEPG in accordance with the present invention. The example is a DMXEPG for the specific content category of GAMES for content category of KIDS. The main screen defaults to an ME that is selected to be the default ME. In this case the default ME is ME6.

FIG. 71 shows that the ME5 is in focus. The main screen is updated with the video currently associated with ME5 when the user presses the SELECT button on the remote control.

FIG. 72 shows the display of additional information for the in-focus ME when the user requests additional information. The video is scaled to allow for room to display the additional information.

FIG. 73 shows that the display including scaled video and additional information will change when the user changes the focus from one ME to another ME. Here, ME5 was in focus as shown in FIG. 72, and in FIG>73 ME2 becomes focused.

FIGS. 74 and 75 show a sequence when the focus is changed to the GAMES ME. As can be seen in FIG. 75 the main screen is replaced with a set of MEs for different games that can be accessed.

FIG. 76 shows that the user can navigate from a game ME to a non-game ME. For example, FIG. 75 shows that the game ME for Game 1 was in focus. In FIG. 76, the user can navigate to ME3 by using the arrows keys on the remote.

FIG. 77 shows that the main screen can be once again replaced with the scaled video when the SELECT button is pressed for the in-focus ME.

FIG. 78 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 79 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 80 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 81 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 82 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 83 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 84 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 85 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 86 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 87 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 88 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 89 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 90 shows example of UI and navigation of DMXEPG created for specific content category (Kids)

FIG. 91 a shows example of UI and navigation of DMXEPG portal

FIG. 91 b, 91 c, 91 d show DMXEPG UI navigation within specific content category

FIG. 92 a, 92 b, 92 c, 92 d show DMXEPG UI navigation and program information following changes in focus of MEs.

FIG. 93 shows UI and navigation of DMXEPG of future programs

FIG. 94 shows option of enlarging selected ME to larger portion of the screen and the full screen

FIG. 95, 96 shows UI and navigation of DMXEPG in program information display mode when some ME display trailers one ME is in focus and optionally continue to play trailers when focus moves to another ME

FIG. 97 shows UI and navigation of DMXEPG in program information display mode

FIG. 98-109 show UI and navigation of DMXEPG in channel browsing mode

FIG. 110-112 show zoom in and zoom out of ME in DMXEPG in show browsing mode

FIG. 113-117 show UI and navigation of DMXEPG in channel browsing mode

FIG. 118 shows DMXEPG ability to enter PVR content browsing mode

FIG. 119 shows how VOD portal is built with ME

FIG. 120-121 shows how availability of the same or similar content on VOD system can be indicated in DMXEPG ME as well as grid based EPG

FIG. 122 shows a diagram describing process of encapsulation of VOD program metadata into DMXEPG metadata

FIG. 123 shows a system that merges metadata for programs supplied by multiple digital TV service providers

FIG. 124 shows a system that allows subscribers to select channel auto merge or perform manual channel merge for channels delivered over multiple networks

FIG. 125, 126 show UI subscriber can access to perform manual merge of channels delivered over multiple networks

FIG. 127 shows how subscriber can tune to the desired channel using channel name (for example CNN, HBO, etc) or its mnemonic representation using telephone keypad—letter association.

FIG. 128 shows set top box with the application that can utilize more than one display for video output, graphics output, or their combination.

FIG. 129 shows digital TV set with the application that can utilize more than one display for video output, graphics output, or their combination.

FIG. 130 shows set top box that runs two applications each of which is using separate display for video output, graphics output, or their combination.

FIG. 131 shows digital TV set that runs two applications each of which is using separate display for video output, graphics output, or their combination.

FIG. 132 shows set top box that runs two applications each of which is using a portion of multiple displays for video output, graphics output, or their combination.

FIG. 133 shows digital TV set that runs two applications each of which is using a portion of multiple displays for video output, graphics output, or their combination.

FIG. 134 shows example of multi screen application for set top box where the Mosaic portion is directed by DMXEPG application to the Video/Data Output 1 (Secondary Display) and the Full screen Video stream is directed by DMXEPG application to the Video/Data Output 2 (Primary Display)

FIG. 135 shows example of multi screen application for digital TV set where the Mosaic portion is directed by DMXEPG application to the Video/Data Output 1 (Secondary Display) and the Full screen Video stream is directed by DMXEPG application to the Video/Data Output 2 (Primary Display)

FIG. 136 shows example of multi screen application for set top box where the EPG is directed to the Video/Data Output 1 (Secondary Display) and the Full screen Video stream is directed by application to the Video/Data Output 2 (Primary Display)

FIG. 137 shows example of multi screen application for set top box where the EPG is directed to the Video/Data Output 1 (Secondary Display) and the Full screen video clip for future program is directed by application to the Video/Data Output 2 (Primary Display)

FIG. 138 shows logical structure of DMXEPG for multiple displays where

-   -   21: The instance on DMXEPG application.     -   22 a: The HScreen instance (HScreen class which is defined by         HAVi/OCAP/MHP) represents a physical primary display device.     -   22 b: The HScreen instance (HScreen class which is defined by         HAVi/OCAP/MHP) represents a physical secondary display device.

23 a, 23 b, 23 c: The HScreenDevice objects, instances of HGraphicsDevice class (HGraphicsDevice class which is defined by HAVi/OCAP/MHP), represents the graphics layers that belong to the primary display device.

-   -   23 d, 23 e, 23 f: The HScreenDevice objects, instances of         HGraphicsDevice class (HGraphicsDevice class which is defined by         HAVi/OCAP/MHP), represents the graphics layers that belong to         the secondary display device.     -   24 a, 24 b, 24 c: The HScreenDevice objects, instances of         HVideoDevice class (HVideoDevice class which is defined by         HAVi/OCAP/MHP), represents the video layers that belong to the         primary display device.     -   24 d, 24 e, 24 f: The HScreenDevice objects, instances of         HVideoDevice class (HVideoDevice class which is defined by         HAVi/OCAP/MHP), represents the video layers that belong to the         secondary display device.     -   25 a: The HScreenDevice object, instance of HBackgroundDevice         class (HBackgroundDevice class which is defined by         HAVi/OCAP/MHP), represents the background layer that belongs to         the primary display device.     -   25 b: The HScreenDevice object, instance of HBackgroundDevice         class (HBackgroundDevice class which is defined by         HAVi/OCAP/MHP), represents the background layer that belongs to         the secondary display device.

FIG. 139 same as 138 but for any application including DMXEPG

FIG. 140-148 shows system diagram and UI for multi-display DMXEPG application implemented with touch sensitive display

FIG. 149 shows remote control that allows subscribers to change focus from one display to another for multi-display applications.

FIG. 150 shows system diagram of a digital TV set or set top box which enable applications with multi-display functionality.

FIG. 151 shows system diagram for touch screen display that can be used with systems that support multi-display DMXEPG

FIG. 152 shows system diagram of a digital TV set or set top box utilizing touch screen display for multi-display DMXEPG or other multi-screen applications.

FIG. 153 shows DMXEPG screen displayed in three dimensions either on display with two or three dimensional rendering capabilities.

FIG. 154 shows DMXEPG screen displayed in three dimensions either on display with two or three dimensional rendering capabilities. DMXEPG can be shown using different perspectives.

Operation

A subscriber, in accordance with the invention, accesses DMXEPG main page which displays content categories grouped by genre, language, broadcaster name, geographical location of the broadcaster, or other pre-set criteria. For example, content can be grouped by genre in “News”, “Movies”, “Sitcoms”, “Cartoons”, “Sports”, and “Favorite” categories FIG. 7. Subscriber can observe displayed content and switch to the corresponding audio track by navigating to the desired mosaic element using remote control's available buttons—in most cases “UP”, “DOWN”, “LEFT”, “RIGHT” or, proposed in the invention, optional rotating element FIG. 30 which allows to move focus from one mosaic element to the next in one continuous motion in accordance with the direction of the turn which moves the focus with every pre-defined degree of the rotation.

If subscriber wants to observe more choices in a particular content category, he can press “ENTER” button on the remote control or depress optional rotating element 301 which brings subscriber to another DMXEPG page FIG. 2 that displays mosaic of real time video feeds for the corresponding content category. Similarly to the previous screen, subscriber can switch audio tracks, or select desired program to view it in the “full screen” mode. Also, service providers might choose to display DMXEPG page with incongruent mosaic elements, allocating more space for one or more ME, while still allowing subscribers to switch audio tracks by navigating to the corresponding ME. Furthermore, service providers might choose to create DMXEPG pages that reflect user content preferences associated with the different time of the day, day of the week, age, sex, income, geographical location, and other subscriber demographic data and use conditional access system to match user profile to specific DMXEPG pages. FIG. 6 shows DMXEPG page generated for the morning hours to match viewing preferences subscribers in selected ZIP codes.

With the set-top box with 2 or more tuners, in accordance with the invention, subscriber, after accessing mosaic DMXEPG landing page, selecting content category, and viewing corresponding DMXEPG page is given the option of selecting any video stream, including video from other sources like DVD player, on one ME while observing DMXEPG elements on the rest of the screen FIG. 10. Similarly to other DMXEPG pages, subscriber can switch corresponding audio track by navigating to the corresponding mosaic element. Subscriber can also move position of mosaic element displaying subscriber selected video stream including video from other sources (e.g. VCR, DVD player, video camera, digital camera, etc.) to uncover hidden DMXEPG elements. This setup can be applied to any predefined content category or DMXEPG page.

With the set-top box with 2 or more tuners, in accordance with the invention, subscriber, after accessing DMXEPG screen, can optionally select size of ME in focus by pressing “ENTER” or any other button assigned to that function. In case of subscriber device capable of three dimensional rendering, subscriber can also choose Z coordinate of ME.

Service Provider, in accordance with the invention, can dynamically change rules responsible for dynamic association of channels with the mosaic DMXEPG elements. For the main landing page, service providers can choose to change displayed content categories, advertisement, or other visual or audio data depending on the time of the day, day of the week, customer demographic data, capabilities of customer premises equipment, and capabilities of the head-end equipment, as well as its business needs. 

1-38. (canceled)
 39. A method of generating a user interface (UI) display, the method comprising: selecting a subset of available media content from one or more media providers for presentation to a user, wherein the selection criteria includes the theme of the available media content; associating the selected subset of content with an ME comprising the UI display, wherein the ME outputs the subset of content that is associated therewith; repeating the selecting and associating for other MEs that comprise the UI display; outputting the UI display through a client device; and subsequent to outputting the UI display, changing the associated subset of content of at least one of the MEs that comprise the UI display by selecting another subset of content from the available content based on content theme, and associating the other subset of content with at least one of the MEs, thereby changing the output of the UI display on the client device.
 40. The method of claim 39, wherein the step of selecting a subset of available media content for presentation to a user is carried out by one or more of the media providers.
 41. The method of claim 39, wherein an interactive television service provider selects a subset of available media content for presentation to a user.
 42. The method of claim 39, wherein a cable television service provider selects a subset of available media content for presentation to a user.
 43. The method of claim 39, wherein a direct broadcast satellite service provider selects a subset of available media content for presentation to a user.
 44. The method of claim 39, wherein the step of selecting a subset of available media content for presentation to a user is carried out in conjunction with the client device.
 45. The method of claim 39, wherein the step of selecting a subset of available media content for presentation to a user is carried out by at least one of the media providers and through the client device, resulting in a UI display having a mixture of content chosen by a media provider and by a user in accordance with content theme. 